A Concurrent Model for Imperative Languages with Improved Atomicity
نویسندگان
چکیده
We propose a new concurrent model for imperative languages where concurrency occurs at a subprogram level. This model introduces a new block sequential statement of the form ♯(G1, . . . , Gn) where each Gi is a statement. This statement tells the machine to execute G1, . . . , Gn sequentially and atomically (i.e., without interleaving). It therefore enhances atomicity and predictability in concurrent programming. We illustrate our idea via C‖, an extension of the core concurrent C with the new block sequential statement. key words: concurrency, imperative languages, block sequential.
منابع مشابه
Are new languages necessary for multicore?
ions for concurrency that we have chosen to use. The dominant one in use today for generalpurpose computing is threads. But non-trivial multi-threaded programs are incomprehensible to humans. It is true that the programming model can be improved through the use of design patterns, better granularity of atomicity (e.g. transactions), improved languages, and formal methods. However, these techniq...
متن کاملVerifying Atomicity Specifications for Concurrent Object-Oriented Software Using Model-Checking
In recent work, Flanagan and Qadeer proposed atomicity declarations as a light-weight mechanism for specifying non-interference properties in concurrent programming languages such as Java, and they provided a type and effect system to verify atomicity properties. While verification of atomicity specifications via a static type system has several advantages (scalability, compositional checking),...
متن کاملGranularity and Concurrent Separation Logic
When defining the semantics of shared-memory concurrent programming languages, one conventionally has to make assumptions about the atomicity of actions such as assignments. Running on physical hardware, these assumptions can fail to hold in practice, which puts in question reasoning about their concurrent execution. We address an observation, due to John Reynolds, that processes proved sound i...
متن کاملA Comparison of Implicit and Explicit Parallel Programming
The impact of the parallel programming model on scientiic computing is examined. A comparison is made between Sisal, a functional language with implicit parallelism, and SR, an imperative language with explicit parallelism. Both languages are modern, high-level, concurrent programming languages. Five diierent scientiic applications were programmed in each language, and evaluated for programmabi...
متن کاملCoqa: Concurrent Objects with Quantized Atomicity
This paper introduces a new language model, Coqa, for deeply embedding concurrent programming into objects. Every program written in our language has built-in the desirable behaviors of atomicity, mutual exclusion, and race freedom. A key property of our model is the notion of quantized atomicity: all concurrent program executions can be viewed as being divided into quantum regions of atomic ex...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1701.01785 شماره
صفحات -
تاریخ انتشار 2017